W2

您所在的位置:网站首页 junit 命令行 运行 W2

W2

2024-01-10 23:48| 来源: 网络整理| 查看: 265

系列文章目录

W2-1:Maven引入外部依赖——以GSON的使用为例

W2-2:在Maven项目中进行Junit5单元测试

- 环境:IntelliJ IDEA Community Edition 2021.3.2 - 语言:Java

文章目录 系列文章目录前言一、创建Alphabet类二、引入外部依赖三、新建测试四、编写测试代码五、代码覆盖率六、问题及解决总结

前言 单元测试JUnit

一、创建Alphabet类

新建一个java类命名为Alphabet。

public class Alphabet { private static boolean isVowel(int c){ return c=='a'||c=='e'||c=='i'||c=='o'||c=='u'; } public static int countVowels(String s){ return (int)s.toLowerCase().chars().filter(Alphabet::isVowel).count(); } } 二、引入外部依赖

去mvnrepository获得Junit Jupiter API和Junit Platform Launcher的依赖,加入pom.xml后刷新文件。

这里的Junit Platform Launcher,我用最新的1.8.2版本会报错,换了一个旧版本就好了。

org.junit.jupiter junit-jupiter-api 5.8.2 test org.junit.platform junit-platform-launcher 1.1.0 test 三、新建测试

单击选中Alphabet的类名,右键选择Go To->Test,进行测试类的自动创建。 新建测试 新建测试类时发现没有JUnit5,点击Fix进行外部依赖引入。(这里用其他版本也行,但是不同版本的依赖可能会不一样。) 新建测试 依赖引入成功后,该新建测试类的窗口如下,勾选要进行测试的方法。 新建测试

四、编写测试代码 import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; class AlphabetTest { @BeforeEach void setUp() { System.out.println("即将进行单元测试..."); } @AfterEach void tearDown() { System.out.println("单元测试已经结束..."); } @Test void countVowels() { assertEquals(2, Alphabet.countVowels("apple")); } }

这里使用的assertEquals是一个断言方法,其中第一个参数expected表示预期结果,第二个参数actual表示程序执行的实际结果。

当预期结果与实际结果一致时,则表示单元测试通过: 单元测试通过 当预期结果与实际结果不一致时,单元测试失败:

@Test void countVowels() { assertEquals(5, Alphabet.countVowels("China")); }

单元测试失败 单元测试失败

五、代码覆盖率

在做单元测试时,代码覆盖率常常被拿来作为衡量测试好坏的指标,甚至,用代码覆盖率来考核测试任务完成情况,比如,代码覆盖率必须达到80%或 90%。

先在Alphabet.java中再添加一个方法,用于代码覆盖率测试:

public void uncovered(){ System.out.println("this is an uncovered function..."); }

选择Run ‘AlphabetTest’ with Coverage: 代码覆盖率 单元测试覆盖率 在java目录中可以查看类的覆盖率: 类覆盖率 在Alphabet.java中可以通过颜色判断代码是否被覆盖。 代码覆盖

六、问题及解决 参考资料: IDEA Maven项目利用Junit4进行单元测试问题:对Junit Platform Launcher使用最新版本的依赖,报错:java: 读取…m2\repository\org\junit\platform\junit-platform-launcher\1.8.2\junit-platform-launcher-1.8.2.jar时出错; error in opening zip file。 解决:更换依赖中的jar包版本即可。 总结 本文简单记录了在Maven中进行一次Junit5单元测试的操作过程,内容包含创建Java类、引入外部依赖、新建测试类、编写测试代码、代码覆盖率的步骤,以及操作过程中遇到的问题与其解决方法。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3